home *** CD-ROM | disk | FTP | other *** search
/ BBS in a Box 5 / BBS in a Box -Volume V (BBS in a Box) (April 1992).iso / Files / Prog / M / LSC213.cpt / HFS.h < prev    next >
Encoding:
C/C++ Source or Header  |  1987-09-26  |  4.5 KB  |  267 lines  |  [TEXT/KAHL]

  1.  
  2. /*
  3.  *  HFS.h
  4.  *
  5.  *  Copyright (c) 1986, 1987 THINK Technologies, Inc.
  6.  *  These interfaces are based on information copyrighted
  7.  *  by Apple Computer, Inc., 1985, 1986, 1987.
  8.  *
  9.  */
  10.  
  11.  
  12. #ifndef    _HFS_
  13. #define _HFS_
  14.  
  15. #ifndef    _FileMgr_
  16. #include "FileMgr.h"
  17. #endif
  18.  
  19.  
  20. typedef struct {
  21.     int                fdIconID;
  22.     int                fdUnused[4];
  23.     int                fdComment;
  24.     long            fdPutAway;
  25. } FXInfo;
  26.  
  27. typedef struct {
  28.     Rect            frRect;
  29.     int                frFlags;
  30.     Point            frLocation;
  31.     int                frView;
  32. } DInfo;
  33.  
  34. typedef struct {
  35.     Point            frScroll;
  36.     long            frOpenChain;
  37.     int                frUnused;
  38.     int                frComment;
  39.     long            fdPutAway;
  40. } DXInfo;
  41.  
  42.  
  43. typedef IOParam HIOParam;
  44.  
  45. typedef struct {
  46.     STANDARD_PBHEADER
  47.     int                ioFRefNum;
  48.     SignedByte        ioFVersNum;
  49.     SignedByte        filler1;
  50.     int                ioFDirIndex;
  51.     SignedByte        ioFlAttrib;
  52.     SignedByte        ioFlVersNum;
  53.     FInfo            ioFlFndrInfo;
  54.     long            ioDirID;
  55.     int                ioFlStBlk;
  56.     long             ioFlLgLen;
  57.     long            ioFlPyLen;
  58.     int                ioFlRStBlk;
  59.     long            ioFlRLgLen;
  60.     long            ioFlRPyLen;
  61.     long            ioFlCrDat;
  62.     long            ioFlMdDat;
  63. } HFileParam ;
  64.  
  65. typedef struct {
  66.     STANDARD_PBHEADER
  67.     long            filler2;
  68.     int                ioVolIndex;
  69.     long            ioVCrDate;
  70.     long            ioVLsMod;
  71.     int                ioVAtrb;
  72.     int                ioVNmFls;
  73.     int                ioVBitMap;
  74.     int                ioAllocPtr;
  75.     int                ioVNmAlBlks;
  76.     long            ioVAlBlkSiz;
  77.     long            ioVClpSiz;
  78.     int                ioAlBlSt;
  79.     long            ioVNxtCNID;
  80.     int                ioVFrBlk;
  81.     int                ioVSigWord;
  82.     int                ioVDrvInfo;
  83.     int                ioVDRefNum;
  84.     int                ioVFSID;
  85.     long            ioVBkUp;
  86.     int                ioVSeqNum;
  87.     long            ioVWrCnt;
  88.     long            ioVFilCnt;
  89.     long            ioVDirCnt;
  90.     long            ioVFndrInfo[8];
  91. } HVolumeParam;
  92.  
  93. typedef union {
  94.     HIOParam        ioParam;
  95.     HFileParam        fileParam;
  96.     HVolumeParam    volumeParam;
  97. } HParamBlockRec, *HParmBlkPtr;
  98.  
  99.  
  100. typedef struct {
  101.     STANDARD_PBHEADER
  102.     int                ioFRefNum;
  103.     SignedByte        ioFVersNum;
  104.     SignedByte        filler1;
  105.     int                ioFDirIndex;
  106.     SignedByte        ioFlAttrib;
  107.     SignedByte        filler2;
  108.     FInfo            ioFlFndrInfo;
  109.     long            ioDirID;
  110.     int                ioFlStBlk;
  111.     long            ioFlLgLen;
  112.     long            ioFlPyLen;
  113.     int                ioFlRStBlk;
  114.     long            ioFlRLgLen;
  115.     long            ioFlRPyLen;
  116.     long            ioFlCrDat;
  117.     long            ioFlMdDat;
  118.     long            ioFlBkDat;
  119.     FXInfo            ioFlXFndrInfo;
  120.     long            ioFlParID;
  121.     long            ioFlClpSiz;
  122. } HFileInfo;
  123.  
  124. typedef struct {
  125.     STANDARD_PBHEADER
  126.     int                ioFRefNum;
  127.     SignedByte        ioFVersNum;
  128.     SignedByte        filler1;
  129.     int                ioFDirIndex;
  130.     SignedByte        ioFlAttrib;
  131.     SignedByte        filler2;
  132.     DInfo            ioDrUsrWds;
  133.     long            ioDrDirID;
  134.     int                ioDrNmFls;
  135.     int                filler3[9];
  136.     long            ioDrCrDat;
  137.     long            ioDrMdDat;
  138.     long            ioDrBkDat;
  139.     DXInfo            ioDrFndrInfo;
  140.     long            ioDrParID;
  141. } DirInfo;
  142.  
  143. typedef union {
  144.     HFileInfo    hFileInfo;
  145.     DirInfo        dirInfo;
  146. } CInfoPBRec, *CInfoPBPtr;
  147.  
  148.  
  149. typedef struct {
  150.     STANDARD_PBHEADER
  151.     long            filler1;
  152.     StringPtr        ioNewName;
  153.     long            filler2;
  154.     long            ioNewDirID;
  155.     long            filler3[2];
  156.     long            ioDirID;
  157. } CMovePBRec, *CMovePBPtr;
  158.  
  159.  
  160. typedef struct {
  161.     STANDARD_PBHEADER
  162.     int                filler1;
  163.     int                ioWDIndex;
  164.     long            ioWDProcID;
  165.     int                ioWDVRefNum;
  166.     int                filler2[7];
  167.     long            ioWDDirID;
  168. } WDPBRec, *WDPBPtr;
  169.  
  170.  
  171. typedef struct {
  172.     STANDARD_PBHEADER
  173.     int                ioRefNum;
  174.     int                filler;
  175.     int                ioFCBIndx;
  176.     int                ioFCBFiller1;
  177.     long            ioFCBFlNm;
  178.     int                ioFCBFlags;
  179.     int                ioFCBStBlk;
  180.     long            ioFCBEOF;
  181.     long            ioFCBPLen;
  182.     long            ioFCBCrPs;
  183.     int                ioFCBVRefNum;
  184.     long            ioFCBClpSiz;
  185.     long            ioFCBParID;
  186. } FCBPBRec, *FCBPBPtr;
  187.  
  188.  
  189. typedef struct {
  190.     struct QElem *    qLink;
  191.     int                qtype;
  192.     int                vcbFlags;
  193.     int                vcbSigWord;
  194.     long            vcbCrDate;
  195.     long            vcbLsMod;
  196.     int                vcbAtrb;
  197.     int                vcbNmFls;
  198.     int                vcbVBMSt;
  199.     int                vcbAllocPtr;
  200.     int                vcbNmAlBlks;
  201.     long            vcbAlBlkSiz;
  202.     long            vcbClpSIz;
  203.     int                vcbAlBlSt;
  204.     long            vcbNxtCNID;
  205.     int                vcbFreeBks;
  206.     char            vcbVN[28];
  207.     int                vcbDrvNum;
  208.     int                vcbDRefNum;
  209.     int                vcbFSID;
  210.     int                vcbVRefNum;
  211.     Ptr                vcbMAdr;
  212.     Ptr                vcbBufAdr;
  213.     int                vcbMLen;
  214.     int                vcbDirIndex;
  215.     int                vcbDirBlk;
  216.     long            vcbVolBkUp;
  217.     int                vcbVSeqNum;
  218.     long            vcbWrCnt;
  219.     long            vcbXTClpSiz;
  220.     long            vcbCTClpSiz;
  221.     int                vcbNmRtDirs;
  222.     long            vcbFilCnt;
  223.     long            vcbDirCnt;
  224.     long            vcbFndrInfo[8];
  225.     int                vcbVCSize;
  226.     int                vcbVBMCSiz;
  227.     int                vcbCtlCSiz;
  228.     int                vcbXTAlBlks;
  229.     int                vcbCTAlBlks;
  230.     int                vcbXTRef;
  231.     int                vcbCTRef;
  232.     Ptr                vcbCtlBuf;
  233.     long            vcbDirIDM;
  234.     int                vcbOffsM;
  235. } HVCB;
  236.  
  237.  
  238. typedef    struct {
  239. /*    long            flags;        */
  240.     struct QElem *    qLink; 
  241.     int                qType;
  242.     int                dQDrive;
  243.     int                dQRefNum;
  244.     int                dQFSID;
  245.     int                dQDrvSz;
  246.     int                dQDrvSz2;
  247. } HDrvQEl, *HDrvQElPtr;
  248.  
  249.  
  250. typedef struct {
  251.     char            sigWord[2];
  252.     long            abSize;
  253.     long            clpSize;
  254.     long            nxFreeFN;
  255.     long            btClpSize;
  256.     int                rsrv1;
  257.     int                rsrv2;
  258.     int                rsrv3;
  259. } HFSDefaults;
  260.  
  261.  
  262. /*  low-memory globals  */
  263. extern int FSFCBLen : 0x3F6;
  264. extern HFSDefaults *FmtDefaults : 0x39E;
  265.  
  266.  
  267. #endif _HFS_